unit GrupoDM;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  ZDataset, ZSqlUpdate, ZSequence, MainDM, QueryConditions, db;

type

  { TGrupoData }

  TGrupoData = class(TMainDataModule)
    GrupoDatasource: TDatasource;
    GrupoZQuery: TZQuery;
    GrupoZQuerydesc_grupo: TStringField;
    GrupoZQueryid_grupo: TLargeintField;
    GrupoZSequence: TZSequence;
    GrupoZUpdate: TZUpdateSQL;
    procedure DataModuleCreate(Sender: TObject);
    /// Abre o DataSet
    procedure OpenDataSet(); override;
    /// Fecha o DataSet
    procedure CloseDataSet(); override;
    /// Realiza busca
    /// @param(Condicoes são as condições para a busca)
    /// @param(Tabela é a tabela no banco de dados)
    procedure Search(Condicoes: TQueryConditions; Tabela: string); override;
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  GrupoData: TGrupoData;

implementation

uses ConnectionDM;

{ TGrupoData }

procedure TGrupoData.DataModuleCreate(Sender: TObject);
begin
    MainDataSet := GrupoZQuery;
    GrupoZQuery.Open;
end;

procedure TGrupoData.OpenDataSet;
begin
   // ConnectionData.EmptyQuery(GrupoZQuery, 'grupo');
end;

procedure TGrupoData.CloseDataSet;
begin
   // GrupoZQuery.Close();
end;

procedure TGrupoData.Search(Condicoes: TQueryConditions; Tabela: string);
begin
    ConnectionData.OpenQueryConditions(GrupoZQuery, Tabela, Condicoes);
end;

initialization
  {$I grupodm.lrs}

end.

